$(function(){
    require.config({
        paths: {
            echarts: '${filter.res.url}/plugins/echarts'
        }
    });
    mapCtrl.map.event();
});
var mapCtrl  = new XFApp.client();
XFApp.client.prototype.map = {
    successCode : "10000",
    page : null,
    urlItems : {
        amtTopURL : basePath+"/orderMap/amtTop",
        qtyTopURL : basePath+"/orderMap/qtyTop"
    },
    loop:0,
    option : {
        backgroundColor: '#04415e', //#1a283f
        color: ['gold', 'aqua', 'lime'],
        title: {text: '地域维度（出口地区排名）',x: 'center',textStyle: {color: '#fff'}},
        tooltip: {
            trigger: 'item',
            formatter: '{b}'
        },

        dataRange: {
            show: true,
            x: 'left',
            y: 'center',
            min: 0,
            max: 100,
            calculable: true,
            color: ['#ff3333', 'orange', 'yellow', 'lime', 'aqua'],
            textStyle: {
                color: '#fff'
            }
        },

        series: [
            {
                name: '中俄',
                type: 'map',
                roam: false,
                hoverable: true,
                mapType: '中俄',
                roam: true,
                itemStyle: {
                    normal: {
                        borderColor: 'rgba(100,149,237,1)', //#3D5F99
                        borderWidth: 0.5,
                        areaStyle: {
                            color: '#004882'    //#121C2D
                        },
                        label: {show: false}
                    }
                },
                data: [],
                markLine: {
                    smooth: true,
                    symbol: ['none', 'circle'],
                    symbolSize: 1,
                    itemStyle: {
                        normal: {
                            color: '#fff',
                            borderWidth: 1,
                            borderColor: '#597bb3'
                        }
                    },
                    data: []
                },
                geoCoord: {},
                // 自定义名称
                nameMap: {
                    'Afghanistan': '阿富汗',
                    'Angola': '安哥拉',
                    'Albania': '阿尔巴尼亚',
                    'United Arab Emirates': '阿联酋',
                    'Argentina': '阿根廷',
                    'Armenia': '亚美尼亚',
                    'French Southern and Antarctic Lands': '法属南半球和南极领地',
                    'Australia': '澳大利亚',
                    'Austria': '乌苏里斯克',
                    'Azerbaijan': '阿塞拜疆',
                    'Burundi': '布隆迪',
                    'Belgium': '比利时',
                    'Benin': '贝宁',
                    'Burkina Faso': '布基纳法索',
                    'Bangladesh': '孟加拉国',
                    'Bulgaria': '保加利亚',
                    'The Bahamas': '巴哈马',
                    'Bosnia and Herzegovina': '波斯尼亚和黑塞哥维那',
                    'Belarus': '白俄罗斯',
                    'Belize': '伯利兹',
                    'Bermuda': '百慕大',
                    'Bolivia': '玻利维亚',
                    'Brazil': '巴西',
                    'Brunei': '文莱',
                    'Bhutan': '不丹',
                    'Botswana': '博茨瓦纳',
                    'Central African Republic': '中非共和国',
                    'Canada': '加拿大',
                    'Switzerland': '瑞士',
                    'Chile': '智利',
                    'China': '中国',
                    'Ivory Coast': '象牙海岸',
                    'Cameroon': '喀麦隆',
                    'Democratic Republic of the Congo': '刚果民主共和国',
                    'Republic of the Congo': '刚果共和国',
                    'Colombia': '哥伦比亚',
                    'Costa Rica': '哥斯达黎加',
                    'Cuba': '古巴',
                    'Northern Cyprus': '北塞浦路斯',
                    'Cyprus': '塞浦路斯',
                    'Czech Republic': '捷克共和国',
                    'Germany': '德国',
                    'Djibouti': '吉布提',
                    'Denmark': '丹麦',
                    'Dominican Republic': '多明尼加共和国',
                    'Algeria': '阿尔及利亚',
                    'Ecuador': '厄瓜多尔',
                    'Egypt': '埃及',
                    'Eritrea': '厄立特里亚',
                    'Spain': '西班牙',
                    'Estonia': '爱沙尼亚',
                    'Ethiopia': '埃塞俄比亚',
                    'Finland': '芬兰',
                    'Fiji': '斐',
                    'Falkland Islands': '福克兰群岛',
                    'France': '法国',
                    'Gabon': '加蓬',
                    'United Kingdom': '英国',
                    'Georgia': '格鲁吉亚',
                    'Ghana': '加纳',
                    'Guinea': '几内亚',
                    'Gambia': '冈比亚',
                    'Guinea Bissau': '几内亚比绍',
                    'Equatorial Guinea': '赤道几内亚',
                    'Greece': '希腊',
                    'Greenland': '格陵兰',
                    'Guatemala': '危地马拉',
                    'French Guiana': '法属圭亚那',
                    'Guyana': '圭亚那',
                    'Honduras': '洪都拉斯',
                    'Croatia': '克罗地亚',
                    'Haiti': '海地',
                    'Hungary': '匈牙利',
                    'Indonesia': '印尼',
                    'India': '印度',
                    'Ireland': '新西伯利亚',
                    'Iran': '伊朗',
                    'Iraq': '伊拉克',
                    'Iceland': '冰岛',
                    'Israel': '以色列',
                    'Italy': '意大利',
                    'Jamaica': '牙买加',
                    'Jordan': '约旦',
                    'Japan': '日本',
                    'Kazakhstan': '哈萨克斯坦',
                    'Kenya': '肯尼亚',
                    'Kyrgyzstan': '吉尔吉斯斯坦',
                    'Cambodia': '柬埔寨',
                    'South Korea': '韩国',
                    'Kosovo': '科索沃',
                    'Kuwait': '科威特',
                    'Laos': '老挝',
                    'Lebanon': '黎巴嫩',
                    'Liberia': '利比里亚',
                    'Libya': '利比亚',
                    'Sri Lanka': '斯里兰卡',
                    'Lesotho': '莱索托',
                    'Lithuania': '立陶宛',
                    'Luxembourg': '卢森堡',
                    'Latvia': '拉脱维亚',
                    'Morocco': '摩洛哥',
                    'Moldova': '摩尔多瓦',
                    'Madagascar': '马达加斯加',
                    'Mexico': '墨西哥',
                    'Macedonia': '马其顿',
                    'Mali': '马里',
                    'Myanmar': '缅甸',
                    'Montenegro': '黑山',
                    'Mongolia': '蒙古',
                    'Mozambique': '莫桑比克',
                    'Mauritania': '毛里塔尼亚',
                    'Malawi': '马拉维',
                    'Malaysia': '马来西亚',
                    'Namibia': '纳米比亚',
                    'New Caledonia': '新喀里多尼亚',
                    'Niger': '尼日尔',
                    'Nigeria': '尼日利亚',
                    'Nicaragua': '尼加拉瓜',
                    'Netherlands': '荷兰',
                    'Norway': '挪威',
                    'Nepal': '尼泊尔',
                    'New Zealand': '新西兰',
                    'Oman': '阿曼',
                    'Pakistan': '巴基斯坦',
                    'Panama': '巴拿马',
                    'Peru': '秘鲁',
                    'Philippines': '菲律宾',
                    'Papua New Guinea': '巴布亚新几内亚',
                    'Poland': '波兰',
                    'Puerto Rico': '波多黎各',
                    'North Korea': '北朝鲜',
                    'Portugal': '葡萄牙',
                    'Paraguay': '巴拉圭',
                    'Qatar': '卡塔尔',
                    'Romania': '罗马尼亚',
                    'Russia': '俄罗斯',
                    'Rwanda': '卢旺达',
                    'Western Sahara': '西撒哈拉',
                    'Saudi Arabia': '沙特阿拉伯',
                    'Sudan': '苏丹',
                    'South Sudan': '南苏丹',
                    'Senegal': '塞内加尔',
                    'Solomon Islands': '所罗门群岛',
                    'Sierra Leone': '塞拉利昂',
                    'El Salvador': '萨尔瓦多',
                    'Somaliland': '索马里兰',
                    'Somalia': '索马里',
                    'Republic of Serbia': '塞尔维亚共和国',
                    'Suriname': '苏里南',
                    'Slovakia': '斯洛伐克',
                    'Slovenia': '斯洛文尼亚',
                    'Sweden': '瑞典',
                    'Swaziland': '斯威士兰',
                    'Syria': '叙利亚',
                    'Chad': '乍得',
                    'Togo': '多哥',
                    'Thailand': '泰国',
                    'Tajikistan': '塔吉克斯坦',
                    'Turkmenistan': '土库曼斯坦',
                    'East Timor': '东帝汶',
                    'Trinidad and Tobago': '特里尼达和多巴哥',
                    'Tunisia': '突尼斯',
                    'Turkey': '土耳其',
                    'United Republic of Tanzania': '坦桑尼亚联合共和国',
                    'Uganda': '乌干达',
                    'Ukraine': '乌克兰',
                    'Uruguay': '乌拉圭',
                    'United States of America': '美国',
                    'Uzbekistan': '乌兹别克斯坦',
                    'Venezuela': '委内瑞拉',
                    'Vietnam': '越南',
                    'Vanuatu': '瓦努阿图',
                    'West Bank': '西岸',
                    'Yemen': '也门',
                    'South Africa': '南非',
                    'Zambia': '赞比亚',
                    'Zimbabwe': '津巴布韦'
                }

            },
            {
                name: '北京 Top10',
                type: 'map',
                mapType: '中俄',
                data: [],
                markLine: {
                    smooth: true,
                    effect: {
                        show: true,
                        scaleSize: 1,
                        period: 3,
                        color: '#fff',
                        shadowBlur: 10
                    },
                    itemStyle: {
                        normal: {
                            borderWidth: 1,
                            lineStyle: {
                                type: 'solid',
                                shadowBlur: 10
                            }
                        }
                    },
                    data: []
                },
                markPoint: {
                    symbol: 'emptyCircle',
                    symbolSize: function (v) {
                        //return 10 + v/10
                        return 10;
                    },
                    effect: {
                        show: true,
                        shadowBlur: 0
                    },
                    itemStyle: {
                        normal: {
                            label: {show: false}
                        },
                        emphasis: {
                            label: {position: 'top'}
                        }
                    },
                    data: []

                }
            }
        ]
    },
    loadMap:function(){
        var _this = this;
        var url = "";
        _this.loop++;
        if(_this.loop % 2 == 0){
            url = _this.urlItems.qtyTopURL;
            _this.option.title.text = "地区出口量（订单包裹数）";
        }else{
            url = _this.urlItems.amtTopURL;
            _this.option.title.text = "地区出口量（订单总金额）";
        }
        $.ajax({
            url: url,
            type: 'GET',
            dataType: 'json',
            cache: false,
            success: function (result) {
                result = result.result;
                if (result != null) {
                    if (null != result.min) {
                        _this.option.dataRange.min = result.min;
                    }
                    if (null != result.max) {
                        _this.option.dataRange.max = result.max;
                    }
                    if (null != result.geoCoord) {
                        _this.option.series[0].geoCoord = result.geoCoord;
                    }
                    if (result.topCityDataArray != null) {
                        _this.option.series[1].markPoint.data = result.topCityDataArray[0].markPointDataArr;
                        _this.option.series[1].name = result.topCityDataArray[0].cityName;
                        _this.option.series[1].markLine.data = result.topCityDataArray[0].markLineDataArr;
                    }
                    _this.successMap(_this.option);
                }
            },
            error: function(XMLHttpRequest, status, errorThrown){
                if(status=='timeout'){
                    $("#main").html('请求超时');
                }else{
                    $("#main").html('加载失败');
                }
            }

        });
    },
    successMap:function(option){
        var mapChart;
        require(
            [
                'echarts',
                'echarts/chart/map'
            ],
            function (ec) {
                if(option!=''){
                    mapChart = ec.init(document.getElementById('main'));
                    mapChart.showLoading({text: '正在努力的读取数据中...'});
                    mapChart.setOption(option);
                    mapChart.showLoading();
                    mapChart.setOption(option, true);
                    mapChart.refresh();
                    mapChart.hideLoading();
                }
            }
        );
    },
    event : function(){
        var _this = this;
        _this.loadMap();
        window.setInterval(function(){
            _this.loadMap();
        }, 10000);
    }
};
/*var json = {
 "min": 1,
 "topCityArray": ["绥芬河"],
 "max": 259,
 "topCitySelected": {"绥芬河": true},
 "geoCoord": {
 "圣彼得堡": [
 30.25,
 59.55
 ],
 "莫斯科": [
 37.37,
 55.45
 ],
 "绥芬河": [
 131.90,
 44.23
 ]
 },
 "topCityDataArray": [
 {
 "min": 1,
 "markLineDataArr": [
 [{"name": "绥芬河"}, {"name": "圣彼得堡", "value": 55}],
 [{"name": "绥芬河"}, {"name": "莫斯科", "value": 259}],
 [{"name": "绥芬河"}, {"name": "叶卡捷琳堡", "value": 16}]],
 "max": 259,
 "cityName": "绥芬河",
 "markPointDataArr": [
 {"name": "圣彼得堡", "value": 55},
 {"name": "莫斯科", "value": 259},
 {"name": "叶卡捷琳堡", "value": 16}
 ]
 }
 ]
 };*/
